Universe-Type-Based Verification Techniques for Mutable Static Fields and Methods

نویسندگان

  • Alexander J. Summers
  • Sophia Drossopoulou
  • Peter Müller
چکیده

We present three novel techniques for the verification of invariants in the setting of Java-like languages including static fields and methods. Our techniques structure the heap through universe types, and extend the Visibility Technique of Müller et al. In order to cater for mutable static fields, we extend the classical universe types heap topology with multiple trees, where each tree is rooted in a class. Thus classes may naturally own objects as static fields. We present a basic version of our approach, which allows trees to be visited at the top and then navigated “downwards”, and which avoids dangerous call-backs through effects which track static method calls. As well as the usual kinds of proof obligations defining that certain invariants must hold at a given state, we employ a second kind of obligation to show that certain other invariants are preserved between two states (i.e., if they hold in the former state then they will still hold in the latter). This allows us to deal with invariants whose expected truth-value cannot always be determined statically in a modular way. We then present two extensions of our basic technique, aimed at improving usability. Firstly, we introduce a new universe annotation to allow safe callbacks between trees, whereby trees may be visited not at the top, but at the point where a previous visit “had left off”. Secondly, we refine our heap topology with a notion of ’levels’, which stratify the heap and provide modularity with regard to library classes and the required effects annotations.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Universe-Type-Based Verification Technique for Mutable Static Fields and Methods

We present a novel technique for the verification of invariants in the setting of a Java-like language including static fields and methods. The technique is a generalisation of the existing Visibility Technique of Müller et al., which employs universe types. In order to cater for mutable static fields, we extend this topology to multiple trees (a forest), where each tree is rooted in a class. T...

متن کامل

2007 State of the Universe Address

This position paper summarizes recent developments related to the Universe type system and suggests directions for future work. 1. Universe Type System The Universe type system is an ownership type system that enforces the owner-as-modifier discipline. In this section, we summarize recent developments and suggest future work to improve the expressiveness and formal foundation. 1.1 Expressivenes...

متن کامل

A Static Analysis for Instance-based Confinement in Java

A semantic definition is given for instance-based pointer confinement (alias control); this provides a form of encapsulation suited to many object-oriented designs. A syntax-directed static analysis is defined and proved, using a compositional semantics, to imply semantic confinement. Previous work by the authors, reviewed here, shows that this notion of confinement ensures a strong information...

متن کامل

Towards imperative modules: Reasoning about invariants and sharing

Imperative and object-oriented programs make ubiquitous use of shared mutable objects. Updating a shared object can and often does transgress a boundary that was supposed to be established using static constructs such as a class with private fields. This paper shows how auxiliary fields can be used to express two state-dependent encapsulation disciplines: ownership, a kind of separation, and lo...

متن کامل

LJGS: Gradual Security Types for Object-Oriented Languages

LJGS is a lightweight Java core calculus with a gradual security type system. The calculus guarantees secure information flow for sequential, class-based, typed object-oriented programming with mutable objects and virtual method calls. An LJGS program is composed of fragments that are checked either statically or dynamically. Statically checked fragments adhere to a security type system so that...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Journal of Object Technology

دوره 8  شماره 

صفحات  -

تاریخ انتشار 2009